home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Taifun / Taifun 203 (1992-06-10)(Manewaldt, A.)(DE)(PD).zip / Taifun 203 (1992-06-10)(Manewaldt, A.)(DE)(PD).adf / Fenster / Objectfiles / ScreenImageDemo.p < prev    next >
Text File  |  1992-06-06  |  2KB  |  69 lines

  1. Program Fenster3_ImageDemo;
  2.  
  3. { ------------------------------------------------------------
  4.   --                Fenster3-ImageDemo                      --
  5.   ------------------------------------------------------------
  6.   -- Autor    : Roger Fischlin                              --
  7.   -- Datum    : 2. März 1992                                --
  8.   -- Compiler : KickPascal V2.10  (c) Maxon Computer        --
  9.   -- Rechte   : Public Domain                               --
  10.   -- --------------------------------------------------------- }
  11.  
  12. {$incl"intuition.lib","graphics.lib" }
  13.  
  14. CONST HÖHE   = 40;  { Werte aus dem SPEICHERN-Requester von 'Fenster 3' }
  15.       BREITE = 129;
  16.  
  17.  
  18. VAR  Ende         : BOOLEAN;       { Programm beenden }
  19.      Msg          : p_IntuiMessage { Zeiger auf erhaltene IntuiMessage }
  20.      Wd           : p_Window;      { Zeiger auf das Fenster }
  21.      Scr          : p_Screen;      { Zeiger auf den Screen }
  22.      PictureImage : Image;         { Image-Struktur }
  23.      ImageDaten   : Word; IMPORT;  { hinzugelinkte Grafikdaten }
  24.      Farben       : Word; IMPORT;  { hinzugelinkte Farbtabelle }
  25.  
  26.  
  27. BEGIN
  28.      { alles öffnen }
  29.  
  30.      OpenLib(IntBase,'intuition.library',0);
  31.      OpenLib(GfxBase,'graphics.library',0);
  32.      Scr:=Open_Screen(0,0,640,$ffff,2,0,1,HIRES,'Fenster3-Image-Demo');
  33.      Wd:=Open_Window(20,20,320,100,$ffff,_CLOSEWINDOW+NEWSIZE,WINDOWSIZING+WINDOWDRAG+WINDOWDEPTH+WINDOWCLOSE+SMART_REFRESH+ACTIVATE+RMBTRAP,'Demo',Scr,BREITE,HÖHE,$ffff,$ffff);
  34.  
  35.      { Image-Struktur initialisieren }
  36.      PictureImage:=Image(0,0,BREITE,HÖHE,2,^ImageDaten,1+2,0,NIL);
  37.  
  38.      { Farben setzen }
  39.      LoadRGB4(^Scr^.ViewPort,^Farben,4);
  40.  
  41.  
  42.      { Bild zeichnen }
  43.      DrawImage(Wd^.RPort,^PictureImage,Wd^.BorderLeft+10,WD^.BorderTop+10);
  44.  
  45.      { Auf Message warten. Bei neuer Fenstergröße Image erneut malen }
  46.      REPEAT
  47.            Msg:=Wait_Port(WD^.UserPort);
  48.            Msg:=Get_Msg(WD^.UserPort);
  49.            IF Msg<>NIL THEN
  50.               BEGIN
  51.                    Ende:=(Msg^.Class=_CLOSEWINDOW); { Ende bei CLOSE }
  52.                    IF Msg^.Class=NEWSIZE THEN
  53.                       DrawImage(Wd^.RPort,^PictureImage,WD^.BorderLeft+10,WD^.BorderTop+10);
  54.                    Reply_Msg(Msg);
  55.               END
  56.               ELSE Ende:=FALSE;
  57.      UNTIL (Ende);
  58.  
  59.      { alles wieder schließen }
  60.      Close_Window(Wd);
  61.      Close_Screen(Scr);
  62.      CloseLib(GfxBase);
  63.      CloseLib(IntBase);
  64.  
  65. End.
  66.  
  67. {$link "fenster.o" } {Daten liegen im CHIP-Mem }
  68.  
  69.